package com.rede.didiok.community.entity;

import java.util.Date;
import java.util.List;
import java.util.Map;

import lombok.Data;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.rede.didiok.common.dto.user.UserDto;
import com.rede.didiok.common.entity.SuperEntity;

/**
 * 用户动态表
 * 
 * @author Rede
 * @email didiok@foxmail.com
 * @date 2023-09-06 18:35:23
 */
@Data
@TableName("c_user_moment")
public class UserMomentEntity extends SuperEntity<UserMomentEntity> {
	private static final long serialVersionUID = 1L;

	/**
	 * 社区uid
	 */
	private String communityUid;
	/**
	 * 创建人的uid
	 */
	private String createUserUid;
	/**
	 * 创建人名称
	 */
	private String createUserName;
	/**
	 * 管理员uid
	 */
	private String adminUid;
	/**
	 * 审核人名称
	 */
	private String auditName;
	/**
	 * 审核拒绝原因
	 */
	private String rejectReason;
	/**
	 * 审核时间
	 */
	private Date auditTime;
	/**
	 * 审核状态，0：未审核，1：审核拒绝，2：审核通过
	 */
	private Integer auditStatus;
	/**
	 * 动态内容
	 */
	private String content;
	/**
	 * 是否发布：0：否，1：是
	 */
	private Integer isPublish;
	/**
	 * 文件uid列表
	 */
	private String fileUids;
	/**
	 * 话题uid列表
	 */
	private String topicUids;
	/**
	 * URL链接
	 */
	private String url;
	/**
	 * URL链接信息
	 */
	private String urlInfo;
	/**
	 * 点击数
	 */
	private Integer clickCount;
	/**
	 * 评论数
	 */
	private Integer commentCount;
	/**
	 * 备注
	 */
	private String remark;
	/**
	 * 是否开启评论
	 */
	private Integer openComment;
	/**
	 * 排序字段
	 */
	private Integer sort;

	/**
	 * topicUid
	 */
	private String topicUid;

	// 以下字段不存入数据库
	/**
	 * 图片列表信息
	 */
	@TableField(exist = false)
	private List<String> photoList;

	/**
	 * 用户信息
	 */
	@TableField(exist = false)
	private UserDto user;

	/**
	 * 话题列表
	 */
	@TableField(exist = false)
	private List<UserMomentTopicEntity> userMomentTopicList;

	/**
	 * 评论列表
	 */
	@TableField(exist = false)
	private List<MomentCommentEntity> commentList;

	/**
	 * 点赞相关信息
	 */
	@TableField(exist = false)
	private Map<String, Object> praiseInfo;

	/**
	 * 点赞的用户列表
	 */
	@TableField(exist = false)
	private List<UserDto> praiseUserList;

	/**
	 * 收藏相关信息
	 */
	@TableField(exist = false)
	private Map<String, Object> collectInfo;

	/**
	 * 积分合计
	 */
	@TableField(exist = false)
	private String sumCredits;
	/**
	 * 是否属于当前登录用户的动态
	 */
	@TableField(exist = false)
	private Integer myOwn;
	/**
	 * 是否是该条动态的管理员
	 */
	@TableField(exist = false)
	private Integer manage;
	/**
	 * topic
	 */
	@TableField(exist = false)
	private UserMomentTopicEntity topic;
}
